#include <iostream>

using namespace std;
class point {
public:
	point();
	point(int x, int y);
	~point();
	void move(int newX, int newY);
	int getX() const { return x; }
	int getY() const { return y; }
	static void showCount();
private:
	int x;
	int y;
};
point::point() :x(0), y(0) {
	cout << "Default Constructor called." << endl;
}
point::point(int x, int y) : x(x), y(y) {
	cout << "Constructor called." << endl;
}
point::~point() {
	cout << "Destructor called." << endl;
}
void point::move(int newX, int newY) {
	cout << "Moving the point to(" << newX << "," << newY << ")" << endl;
	x = newX;
	y = newY;
}
int main()
{
	cout << "Entering main..." << endl;
	point a[2];
	for (int i = 0; i < 2; i++)
	{
		a[i].move(i + 10, i + 20);
	}
	cout << "Exiting main..." << endl;
	return 0;
}